///*
// * To change this template, choose Tools | Templates
// * and open the template in the editor.
// */
//package Model;
//
//import Entity.Sidang;
//import Entity.TA;
//import Entity.User;
//import java.sql.Connection;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//import java.util.ArrayList;
//import java.util.List;
//import library.Koneksi;
//
///**
// *
// * @author mr2
// */
//public class JadwalSidangTAModel {
//    
//    Connection koneksi;
//    User user;
//    Sidang sidang;
//    TA ta;
//    
//    public JadwalSidangTAModel(){
//        koneksi = Koneksi.getKoneksi();
//    }
//    
//    public List<Sidang> ListJadwalSidang(Sidang sidang){
//        
//        PreparedStatement prepare = null;
//        ResultSet result = null;
//        List<Sidang> listJadwalSidang = new ArrayList<Sidang>();
//        
//        String jenisSidang = sidang.getJenisSidang();
//        String TGLSidang = sidang.getTglSidang();
//        String namaLab = sidang.getTa().getNamaLab();
//        String sql = null;
//
//            
//            try{
//                
//                if("SIDANG PROPOSAL".equals(jenisSidang)){
//                    
//                    if("".equals(TGLSidang)){
//                        
//                        sql = "SELECT id_proposal, ta_proposal.id_ta, ta.id_user, id_proposal, proposal_tgl_sidang, proposal_waktu_sidang, proposal_tempat_sidang, proposal_penguji1, proposal_penguji2 "
//                        + "FROM ta_proposal, ta "
//                        + "WHERE ta_proposal.status_daftar_proposal = 'OK' AND ta_proposal.status_sidang_proposal <> 'DITERIMA' "
//                        + "AND ta_proposal.status_sidang_proposal <> 'TUGAS AKHIR DIBATALKAN' AND ta_proposal.status_sidang_proposal <> 'SIDANG ULANG' "
//                        + "AND ta.id_ta = ta_proposal.id_ta AND ta.status_ta = '1' and ta.nama_lab = ? "
//                        + "ORDER by proposal_tgl_sidang";
////                     
//                        prepare = koneksi.prepareStatement(sql);
//
//                        prepare.setString(1, namaLab);
//                        result = prepare.executeQuery();
//                        
//                        while(result.next()){
//                            
//                            User user = new User();
//                            user.setIdUser(result.getString("id_user"));
//                            
//                            TA ta = new TA();
//                            ta.setIdTA(result.getInt("id_ta"));
//                            ta.setUser(user);
//                            
//                            Sidang sidangta = new Sidang();
//                            sidangta.setTa(ta);
//                            sidangta.setIdSidang(result.getInt("id_proposal"));
//                            sidangta.setWktSidang(result.getString("proposal_waktu_sidang"));
//                            sidangta.setTglSidang(result.getString("proposal_tgl_sidang"));
//                            sidangta.setTempatSidang(result.getString("proposal_tempat_sidang"));
//                            sidangta.setPenguji1(result.getString("proposal_penguji1"));
//                            sidangta.setPenguji2(result.getString("proposal_penguji2"));
//                            listJadwalSidang.add(sidangta);
//                        }
//                        return listJadwalSidang;
//                        
//                    }else{
//                        
//                        sql = "SELECT id_proposal, ta_proposal.id_ta, ta.id_user, proposal_tgl_sidang, proposal_waktu_sidang, proposal_tempat_sidang, proposal_penguji1, proposal_penguji2 "
//                        + "FROM ta_proposal, ta "
//                        + "WHERE ta_proposal.status_daftar_proposal = 'OK' AND ta_proposal.status_sidang_proposal <> 'DITERIMA' "
//                        + "AND ta_proposal.status_sidang_proposal <> 'TUGAS AKHIR DIBATALKAN' AND ta_proposal.status_sidang_proposal <> 'SIDANG ULANG' "
//                        + "AND ta.id_ta = ta_proposal.id_ta AND ta.status_ta = '1' and ta.nama_lab = ? and ta_proposal.proposal_tgl_sidang = ? ";
//                    
//                        prepare = koneksi.prepareStatement(sql);
//
//                        prepare.setString(1, namaLab);
//                        prepare.setString(2, TGLSidang);
//                        result = prepare.executeQuery();
//                        
//                        while(result.next()){
//                            
//                            User user = new User();
//                            user.setIdUser(result.getString("id_user"));
//                            
//                            TA ta = new TA();
//                            ta.setUser(user);
//                            ta.setIdTA(result.getInt("id_ta"));
//                            
//                            Sidang sidangta = new Sidang();
//                            sidangta.setTa(ta);
//                            sidangta.setIdSidang(result.getInt("id_proposal"));
//                            sidangta.setWktSidang(result.getString("proposal_waktu_sidang"));
//                            sidangta.setTglSidang(result.getString("proposal_tgl_sidang"));
//                            sidangta.setTempatSidang(result.getString("proposal_tempat_sidang"));
//                            sidangta.setPenguji1(result.getString("proposal_penguji1"));
//                            sidangta.setPenguji2(result.getString("proposal_penguji2"));
//                            listJadwalSidang.add(sidangta);
//                        }
//                        return listJadwalSidang;
//                        
//                    }
//                    
//                }else if("SIDANG PROGRESS".equals(jenisSidang)){
//                    
//                    if("".equals(TGLSidang)){
//                        
//                        sql = "SELECT id_progress, ta_progress.id_ta, ta.id_user, id_progress, progress_tgl_sidang, progress_waktu_sidang, progress_tempat_sidang, progress_penguji1, progress_penguji2 "
//                        + "FROM ta_progress, ta "
//                        + "WHERE ta_progress.status_daftar_progress = 'OK' AND ta_progress.status_sidang_progress <> 'DITERIMA'"
//                        + "AND ta_progress.status_sidang_progress <> 'TUGAS AKHIR DIBATALKAN' AND ta_progress.status_sidang_progress <> 'SIDANG ULANG' "
//                        + "AND ta.id_ta = ta_progress.id_ta AND ta.status_ta = '1' and ta.nama_lab = ? ";
////                     
//                        prepare = koneksi.prepareStatement(sql);
//
//                        prepare.setString(1, namaLab);
//                        result = prepare.executeQuery();
//                        
//                        while(result.next()){
//                            
//                            User user = new User();
//                            user.setIdUser(result.getString("id_user"));
//                            
//                            TA ta = new TA();
//                            ta.setUser(user);
//                            ta.setIdTA(result.getInt("id_ta"));
//                            
//                            Sidang sidangta = new Sidang();
//                            sidangta.setTa(ta);
//                            sidangta.setIdSidang(result.getInt("id_progress"));
//                            sidangta.setWktSidang(result.getString("progress_waktu_sidang"));
//                            sidangta.setTglSidang(result.getString("progress_tgl_sidang"));
//                            sidangta.setTempatSidang(result.getString("progress_tempat_sidang"));
//                            sidangta.setPenguji1(result.getString("progress_penguji1"));
//                            sidangta.setPenguji2(result.getString("progress_penguji2"));
//                            listJadwalSidang.add(sidangta);
//                        }
//                        return listJadwalSidang;
//                        
//                    }else{
//                        sql = "SELECT id_progress, ta_progress.id_ta, ta.id_user, progress_tgl_sidang, progress_waktu_sidang, progress_tempat_sidang, progress_penguji1, progress_penguji2 "
//                        + "FROM ta_progress, ta "
//                        + "WHERE ta_progress.status_daftar_progress = 'OK' AND ta_progress.status_sidang_progress <> 'DITERIMA' "
//                        + "AND ta_progress.status_sidang_progress <> 'TUGAS AKHIR DIBATALKAN' AND ta_progress.status_sidang_progress <> 'SIDANG ULANG' "
//                        + "AND ta.id_ta = ta_progress.id_ta AND ta.status_ta = '1' and ta.nama_lab = ? and ta_progress.progress_tgl_sidang = ? ";
//                    
//                        prepare = koneksi.prepareStatement(sql);
//
//                        prepare.setString(1, namaLab);
//                        prepare.setString(2, TGLSidang);
//                        result = prepare.executeQuery();
//                        
//                            while(result.next()){
//                            
//                            User user = new User();
//                            user.setIdUser(result.getString("id_user"));
//                            
//                            TA ta = new TA();
//                            ta.setUser(user);
//                            ta.setIdTA(result.getInt("id_ta"));
//                            
//                            Sidang sidangta = new Sidang();
//                            sidangta.setTa(ta);
//                            sidangta.setIdSidang(result.getInt("id_progress"));
//                            sidangta.setWktSidang(result.getString("progress_waktu_sidang"));
//                            sidangta.setTglSidang(result.getString("progress_tgl_sidang"));
//                            sidangta.setTempatSidang(result.getString("progress_tempat_sidang"));
//                            sidangta.setPenguji1(result.getString("progress_penguji1"));
//                            sidangta.setPenguji2(result.getString("progress_penguji2"));
//                            listJadwalSidang.add(sidangta);
//                        }
//                        return listJadwalSidang;
//                        
//                    }
//
//                }else{
//                    
//                    if("".equals(TGLSidang)){
//                        
//                        sql = "SELECT id_final, ta_final.id_ta, ta.id_user, id_final, final_tgl_sidang, final_waktu_sidang, final_tempat_sidang, final_penguji1, final_penguji2 "
//                        + "FROM ta_final, ta "
//                        + "WHERE ta_final.status_daftar_final = 'OK' AND ta_final.status_sidang_final <> 'LULUS'"
//                        + "AND ta_final.status_sidang_final <> 'TUGAS AKHIR DIBATALKAN' AND ta_final.status_sidang_final <> 'SIDANG ULANG' "
//                        + "AND ta.id_ta = ta_final.id_ta AND ta.status_ta = '1' and ta.nama_lab = ? ";
////                     
//                        prepare = koneksi.prepareStatement(sql);
//
//                        prepare.setString(1, namaLab);
//                        result = prepare.executeQuery();
//                        
//                        while(result.next()){
//                            
//                            User user = new User();
//                            user.setIdUser(result.getString("id_user"));
//                            
//                            TA ta = new TA();
//                            ta.setUser(user);
//                            ta.setIdTA(result.getInt("id_ta"));
//                            
//                            Sidang sidangta = new Sidang();
//                            sidangta.setTa(ta);
//                            sidangta.setIdSidang(result.getInt("id_final"));
//                            sidangta.setWktSidang(result.getString("final_waktu_sidang"));
//                            sidangta.setTglSidang(result.getString("final_tgl_sidang"));
//                            sidangta.setTempatSidang(result.getString("final_tempat_sidang"));
//                            sidangta.setPenguji1(result.getString("final_penguji1"));
//                            sidangta.setPenguji2(result.getString("final_penguji2"));
//                            listJadwalSidang.add(sidangta);
//                        }
//                        
//                    }else{
//                        
//                        sql = "SELECT id_final, ta_final.id_ta, ta.id_user, final_tgl_sidang, final_waktu_sidang, final_tempat_sidang, final_penguji1, final_penguji2 "
//                        + "FROM ta_final, ta "
//                        + "WHERE ta_final.status_daftar_final = 'OK' AND ta_final.status_sidang_final <> 'LULUS' "
//                        + "AND ta_final.status_sidang_final <> 'TUGAS AKHIR DIBATALKAN' AND ta_final.status_sidang_final <> 'SIDANG ULANG' "
//                        + "AND ta.id_ta = ta_final.id_ta AND ta.status_ta = '1' and ta.nama_lab = ? and ta_final.final_tgl_sidang = ? ";                
//                        prepare = koneksi.prepareStatement(sql);
//
//                        prepare.setString(1, namaLab);
//                        prepare.setString(2, TGLSidang);
//                        result = prepare.executeQuery();
//                        
//                        while(result.next()){
//                            
//                            User user = new User();
//                            user.setIdUser(result.getString("id_user"));
//                            
//                            TA ta = new TA();
//                            ta.setUser(user);
//                            ta.setIdTA(result.getInt("id_ta"));
//                            
//                            Sidang sidangta = new Sidang();
//                            sidangta.setTa(ta);
//                            sidangta.setIdSidang(result.getInt("id_final"));
//                            sidangta.setWktSidang(result.getString("final_waktu_sidang"));
//                            sidangta.setTglSidang(result.getString("final_tgl_sidang"));
//                            sidangta.setTempatSidang(result.getString("final_tempat_sidang"));
//                            sidangta.setPenguji1(result.getString("final_penguji1"));
//                            sidangta.setPenguji2(result.getString("final_penguji2"));
//                            listJadwalSidang.add(sidangta);
//                        }
//                        
//                    }
//                }
//                
//            }catch(SQLException ex){          
//                System.out.println(ex.getMessage());
//            }finally{
//                if(prepare != null){
//                    try{
//                        prepare.close();
//                    }catch(SQLException ex){
//                        System.out.println(ex.getMessage());
//                    }
//                }
//                if(result != null){
//                    try{
//                        result.close();
//                    }catch(SQLException ex){
//                        System.out.println(ex.getMessage());
//                    }
//                }
//            }
//        return listJadwalSidang;
//    }
//    
//    public Sidang getDetailJadwalSidang(Sidang sidang){
//        
//        PreparedStatement prepare = null;
//        ResultSet result = null;
//        
//        String jenisSidang = sidang.getJenisSidang();
//        String sql = null;
//        
//        try{
//            
//            if("SIDANG PROPOSAL".equals(jenisSidang)){
//                
//                sql = "SELECT id_proposal, proposal_tgl_sidang, proposal_waktu_sidang, proposal_tempat_sidang, "
//                    + "proposal_penguji1, proposal_penguji2 "
//                    + "FROM ta_proposal, ta "
//                    + "WHERE ta.id_ta = ta_proposal.id_ta AND ta.status_ta = '1' AND id_proposal = ? ";
//            
//    
//                prepare = koneksi.prepareStatement(sql);
//
//                prepare.setInt(1, sidang.getIdSidang());
//
//                result = prepare.executeQuery();
//
//                if(result.next()){
//
//                    sidang.setIdSidang(result.getInt("id_proposal"));
//                    sidang.setTglSidang(result.getString("proposal_tgl_sidang"));
//                    sidang.setWktSidang(result.getString("proposal_waktu_sidang"));
//                    sidang.setTempatSidang(result.getString("proposal_tempat_sidang"));
//                    sidang.setPenguji1(result.getString("proposal_penguji1"));
//                    sidang.setPenguji2(result.getString("proposal_penguji2"));
//                }
//                
//            }else if("SIDANG PROGRESS".equals(jenisSidang)){
//                
//                sql = "SELECT id_progress, progress_tgl_sidang, progress_waktu_sidang, progress_tempat_sidang, "
//                    + "progress_penguji1, progress_penguji2 "
//                    + "FROM ta_progress, ta "
//                    + "WHERE ta.id_ta = ta_progress.id_ta AND ta.status_ta = '1' AND id_progress = ? ";
//            
//    
//                prepare = koneksi.prepareStatement(sql);
//
//                prepare.setInt(1, sidang.getIdSidang());
//
//                result = prepare.executeQuery();
//
//                if(result.next()){
//
//                    sidang.setIdSidang(result.getInt("id_progress"));
//                    sidang.setTglSidang(result.getString("progress_tgl_sidang"));
//                    sidang.setWktSidang(result.getString("progress_waktu_sidang"));
//                    sidang.setTempatSidang(result.getString("progress_tempat_sidang"));
//                    sidang.setPenguji1(result.getString("progress_penguji1"));
//                    sidang.setPenguji2(result.getString("progress_penguji2"));
//                }
//                
//            }else{
//                
//                sql = "SELECT id_final, final_tgl_sidang, final_waktu_sidang, final_tempat_sidang, "
//                    + "final_penguji1, final_penguji2 "
//                    + "FROM ta_final, ta "
//                    + "WHERE ta.id_ta = ta_final.id_ta AND ta.status_ta = '1' AND id_final = ? ";
//            
//    
//                prepare = koneksi.prepareStatement(sql);
//
//                prepare.setInt(1, sidang.getIdSidang());
//
//                result = prepare.executeQuery();
//
//                if(result.next()){
//
//                    sidang.setIdSidang(result.getInt("id_final"));
//                    sidang.setTglSidang(result.getString("final_tgl_sidang"));
//                    sidang.setWktSidang(result.getString("final_waktu_sidang"));
//                    sidang.setTempatSidang(result.getString("final_tempat_sidang"));
//                    sidang.setPenguji1(result.getString("final_penguji1"));
//                    sidang.setPenguji2(result.getString("final_penguji2"));
//                }
//            }
//            return sidang;
//            
//        }catch(SQLException ex){
//            System.out.println(ex.getMessage());
//        }finally{
//            if(prepare != null){
//                try{
//                    prepare.close();
//                }catch(SQLException ex){
//
//                }
//            }
//            if(result != null){
//                try{
//                    result.close();
//                }catch(SQLException ex){
//                    System.out.println(ex.getMessage());
//                }
//            }
//        }
//        return sidang;
//    }
//    
//    public boolean PenjadwalanSidang(Sidang sidang){
//        
//        boolean hasil = true;      
//        
//        PreparedStatement prepare = null;
//        
//        String jenisSidang = sidang.getJenisSidang();
//        String sql = null;
//        
//        try{
//            
//            if("SIDANG PROPOSAL".equals(jenisSidang)){
//                
//                sql = "update ta_proposal set proposal_tgl_sidang = ?, proposal_waktu_sidang = ?, proposal_tempat_sidang = ?, "
//                        + "proposal_penguji1 = ?, proposal_penguji2 = ? "
//                        + "where id_proposal = ? ";
//                
//            }else if("SIDANG PROGRESS".equals(jenisSidang)){
//                
//                sql = "update ta_progress set progress_tgl_sidang = ?, progress_waktu_sidang = ?, progress_tempat_sidang = ?, "
//                        + "progress_penguji1 = ?, progress_penguji2 = ? "
//                        + "where id_progress = ? ";
//                
//            }else{
//                
//                sql = "update ta_final set final_tgl_sidang = ?, final_waktu_sidang = ?, final_tempat_sidang = ?, "
//                        + "final_penguji1 = ?, final_penguji2 = ? "
//                        + "where id_final = ? ";
//                
//            }
//            
//            prepare = koneksi.prepareStatement(sql);
//
//            prepare.setString(1, sidang.getTglSidang());
//            prepare.setString(2, sidang.getWktSidang());
//            prepare.setString(3, sidang.getTempatSidang());
//            prepare.setString(4, sidang.getPenguji1());
//            prepare.setString(5, sidang.getPenguji2());
//            prepare.setInt(6, sidang.getIdSidang());
//
//            int status = prepare.executeUpdate();
//            if(status > 0){
//                hasil = true;
//            }else{
//                hasil = false;
//            }
//            
//        }catch(SQLException ex){
//            System.out.println(ex.getMessage());
//            hasil = false;
//        }finally{
//            if(prepare != null){
//                try{
//                    prepare.close();
//                }catch(SQLException ex){                   
//                }
//            }
//        }
//        return hasil;
//    }
//}
